- 
                Notifications
    You must be signed in to change notification settings 
- Fork 406
          Always treat RETURNING as supported by SQL engines
          #19047
        
          New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
  
    Always treat RETURNING as supported by SQL engines
  
  #19047
              Conversation
Can do this now that SQLite 3.40 supports RETURNING
| seems good, CI is failing though (maybe a missed usage of  | 
as bookworm is what bumped libsqlite
as it isn't all that relevant, and must be kept up to date. Implicitly trust that the synapse-sytest image uses an appropriate Python version.
| The SQLite sytest is working now, but  For context,  EDIT: Ubuntu 22.02 ships Python 3.10, and is still in support, so it's a good idea for Synapse to still support it.  Should Synapse's deprecation policy could be relaxed to allow the minimum libsqlite3-0 version between Debian oldstable and the oldest active Ubuntu LTS release?  That would be sufficient for this PR, since SQLite's  | 
This is older than what's provided by Debian bookworm (oldstable), but this allows Synapse to keep supporting Ubuntu 22.04
| Loosening the minimum SQLite version indeed fixes  The remaining  | 
| The oldest supported version of SQLite is the version | ||
| [provided](https://packages.debian.org/bullseye/libsqlite3-0) by | ||
| [provided](https://packages.debian.org/oldstable/libsqlite3-0) by | ||
| [Debian oldstable](https://wiki.debian.org/DebianOldStable). | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ubuntu 22.02 ships Python 3.10, and is still in support, so it's a good idea for Synapse to still support it. Should Synapse's deprecation policy could be relaxed to allow the minimum libsqlite3-0 version between Debian oldstable and the oldest active Ubuntu LTS release? That would be sufficient for this PR, since SQLite's
RETURNINGsupport was added in 3.35.0.
To break it down for myself:
- Currently, the deprecation policy simply follows whatever version Debian oldstable ships for SQLite.
- Debian oldstable ships with SQLite 3.40.1
- Ubuntu 22.02 ships with SQLite 3.37.2 (older than Debian oldstable)
- Ubuntu 22.02 is a supported LTS until April 2027
- We even use Ubuntu 22.02 ourselves in our own trial-olddepsCI workflow
Your suggestion to update our deprecation policy to use the minimum between Debian oldstable and supported Ubuntu LTS releases sounds reasonable to me 👍
I'm concerned it locks us down too much in case we want to jump ("our primary focus is on the maintainability and progress of Synapse itself") but may be fine.
In any case as something non-committal, we can word it as "at-least Debian oldstable" and "best-effort support Ubuntu LTS" if we're not using new features which require it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can merge this PR now and we can tackle this in a follow-up PR where the context can be more focused ⏩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In any case as something non-committal, we can word it as "at-least Debian oldstable" and "best-effort support Ubuntu LTS" if we're not using new features which require it.
I like this idea.
Can do this now that SQLite 3.35.0 added support for
RETURNING.This also bumps the minimum supported SQLite version according to Synapse's deprecation policy.
Fix #17577
Pull Request Checklist
EventStoretoEventWorkerStore.".code blocks.